package com.sunny.example;

import java.util.Scanner;

/**
 * 进制转换
 * <p>
 * 描述
 * 写出一个程序，接受一个十六进制的数，输出该数值的十进制表示。
 * <p>
 * 数据范围：保证结果在 1≤n≤231−1 1 \le n \le 2^{31}-1 \ 1≤n≤231−1
 * 输入描述：
 * <p>
 * 输入一个十六进制的数值字符串。
 * 输出描述：
 * <p>
 * 输出该数值的十进制字符串。不同组的测试用例用\n隔开。
 */
public class HJ5 {

    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        while (scanner.hasNext()) {
            String hexStr = scanner.nextLine();
            hex2Oct(hexStr);
        }

    }

    /**
     * 16进制转10进制
     *
     * @param hexStr
     */
    private static void hex2Oct(String hexStr) {
        if (null == hexStr || "".equals(hexStr)) {
            return;
        }
        //当输入为0x开头：oxFFFF
        Integer in = null;
        if (hexStr.startsWith("0x")) {
            in = Integer.parseInt(hexStr.substring(2), 16);
        } else {
            in = Integer.parseInt(hexStr, 16);
        }
        System.out.println(in == null ? "" : in);


    }
}
